Optical reading of data or encoded symbols, such as barcode labels, has been used in many applications. Typically, a barcode consists of a series of parallel light and dark rectangle areas of varying widths. Different widths of bars and spaces define different characters in a particular barcode symbology. A barcode label may be read by an optical code reader, which detects reflected and/or refracted light from the bars and spaces comprising the characters. A detector generates an electrical signal that has an amplitude determined by the intensity of the collected light. It should be understood that the principles described herein are applicable to various systems and methods for reading many types of optical codes, including 1-D, 2-D, Maxicode, PDF-417, and others.
An optical code reader may utilize solid state image circuitry, such as charge coupled devices (CCDs) and complementary metal oxide semiconductor (CMOS) imagers to read an optical code. An optical code to be read may be illuminated with a light source, and reflected light may be collected by the CCD or CMOS imager. An electrical signal may be generated having an amplitude determined by the intensity of the collected light. As the image is read out, positive and negative transitions in the signal occur, signifying transitions between the bars and spaces.
Optical code readers may be implemented using either a one-dimensional (a linear imager) or two-dimensional imaging array (an area sensor) of photosensors (or pixels) to capture the optical code. One-dimensional CCD readers capture a linear cross section of the optical code and may produce an analog waveform whose amplitude represents the relative darkness and lightness of the optical code. Two-dimensional CCD or CMOS imagers capture a two-dimensional image.
Various factors influence the performance of optical code readers, including noise in the signal. CCDs and CMOS imagers may exhibit noise from a variety of sources, including fixed pattern noise (FPN).
The present inventor has recognized that advantages may be realized by removing or reducing FPN in an optical code reader during normal operation. Such advantages may include improved performance in low light conditions, faster exposure times, and allowing the use of less expensive components. The present inventor has therefore determined that it would be desirable to remove or reduce FPN in an optical code reader so as to realize these and other advantages.